/*
 * @Description: rollup打包配置
 * @Author: laoyuan
 * @Date: 2022-01-02 22:04:44
 * @LastEditTime: 2022-01-30 21:59:36
 * @FilePath: \waterMark\rollup.config.js
 */
import babel from '@rollup/plugin-babel'
import commonjs from '@rollup/plugin-commonjs'
import { terser } from 'rollup-plugin-terser'

export default { 
  input: 'src/waterMark.js', // 入口文件
  output: [
    {
      file: './dist/waterMark.esm.min.js', // 输出文件的路径和名称
      format: 'es',  // 将软件包保存为 ES 模块文件，在现代浏览器中可以通过 <script type=module> 标签引入
      name: 'waterMark' // 当format为iife和umd时必须提供，将作为全局变量挂在window(浏览器环境)下，打包后的全局变量
    },
    {
      file: './dist/waterMark.cjs.min.js',
      format: 'cjs',  // CommonJS，适用于 Node 和 Browserify/Webpack 有六种输出格式：amd / es/ system / iife / umd / cjs
      name: 'waterMark'
    },
    {
      file: './dist/waterMark.min.js',
      format: 'iife',  // 适用于script 直接连接引入
      name: 'waterMark'
    }
  ],
  // watch: {  // 配置监听处理
  //   exclude: 'node_modules/**'
  // },
  plugins: [
    // 使用插件 @rollup/plugin-babel
    babel({
      babelHelpers: 'bundled',  // 需要安装npm i -D @babel/helpers
      exclude: 'node_modules/**'  // 排除依赖 只编译我们的源代码
    }),
    commonjs(),
    terser()
  ]
}